package com.kdgz.kdgz.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.kdgz.kdgz.beans.Staff;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

import java.math.BigDecimal;
import java.util.List;

/**
 * @Desc 员工mapper
 * @date 2021/3/17
 */
@Mapper
public interface StaffMapper extends BaseMapper<Staff> {
    /**
     * 通过用户名和密码查询员工
     * @param staff 封装了员工的用户名和密码
     * @return com.kdgz.kdgz.beans.Staff
     */
    public Staff getOneStaff(Staff staff);

    /**
     * 查询所有员工
     * @return java.util.List<com.kdgz.kdgz.beans.Staff>
     */
    public List<Staff> getAllStaff();
    /**
     * 查询所有员工的工资总和
     * @return java.math.BigDecimal
     */
    @Select("select sum(salary) from base_salary bs,staff s where bs.bid = s.bid and s.deleted = 0")
    public BigDecimal getTotalSalary();
    /**
     * 通过sid查询某个员工
     * @param sid 员工id
     * @return com.kdgz.kdgz.beans.Staff
     */
    public Staff getStaffBySid(Integer sid);

    /**
     * 查询指定区域的快递员
     * @param aid 区域id
     * @return com.kdgz.kdgz.beans.Staff
     */
    public List<Staff> getStaffByAid(Integer aid);

    /**
     * 获得所有快递人员
     * @return java.util.List<com.kdgz.kdgz.beans.Staff>
     */
    public List<Staff> getOrderStaff();

    /**
     * 获得所有内勤人员
     * @return java.util.List<com.kdgz.kdgz.beans.Staff>
     */
    public List<Staff> getBackOfficeStaff();

    /**
     * 获得所有财务人员
     * @return java.util.List<com.kdgz.kdgz.beans.Staff>
     */
    public List<Staff> getFinanceStaff();
}
